############Exerccios da Aula 8 - Regresso Mltipla#################################

#1. - Galileu estava Certo?

#Partindo do tutorial Ajuste de Polinmios, avalie se um polinmio de terceiro grau1)  um melhor modelo para descrever os dados do experimento de Galileu. 

> init.h = c(600, 700, 800, 950, 1100, 1300, 1500)
> h.d = c(253, 337, 395, 451, 495, 534, 573)
> 
> mod2 <- lm(h.d~init.h+I(init.h^2))
> 
> mod3 <- lm(h.d~init.h+I(init.h^2)+I(init.h^3))
> 
> anova(mod2,mod3)
Analysis of Variance Table

Model 1: h.d ~ init.h + I(init.h^2)
Model 2: h.d ~ init.h + I(init.h^2) + I(init.h^3)
  Res.Df    RSS Df Sum of Sq     F  Pr(>F)   
1      4 744.08                              
2      3  48.25  1    695.82 43.26 0.00715 **
---
Signif. codes:  0 *** 0.001 ** 0.01 * 0.05 . 0.1   1 
> 
> plot(h.d~init.h)
> cf.m2 <- coef(mod2)
> curve(cf.m2[1]+cf.m2[2]*x+cf.m2[3]*x^2, add=T, lty=2)
> cf.m3 <- coef(mod3)
> curve(cf.m3[1]+cf.m3[2]*x+cf.m3[3]*x^2+cf.m3[4]*x^3, add=T, lty=2)
> 

Sim o modelo se ajusta melhor que a parbola. Contudo o resduo explicado por essa variao  muito pequeno e perdemos mais um grau de liberdade no teste. 


#2. - Massa de Recm-Nascidos

#Experimente todas as variveis disponveis no conjunto de dados Massa ao Nascer e Dados da me para chegar ao melhor modelo de previso da massa de bebs ao nascer. 
x'
#Antes de comear elimine as observaes com dados faltante ,veja na descrio do arquivo. 

bebes = read.table("babies.txt", header=T)
bebes$bwt==999
bebes$gestation==999
bebes$parity==9
bebes$height==99
bebes$smoke==9

bebes$bwt[bebes$bwt==999]=NA
bebes$gestation[bebes$gestation==999]=NA
bebes$height[bebes$height==99]=NA
bebes$smoke[bebes$smoke==9]=NA

#Avaliando todas as variaveis

pairs(bebes)

bebes.1 = lm(bwt~gestation, data=bebes)
coef(bebes.1)
summary(bebes.1)
anova(bebes.1)

bebes.2 = lm(bwt~gestation+height, data=bebes)
coef(bebes.2)
summary(bebes.2)
anova(bebes.2)

#Age parece no ser importante para o modelo
bebes.3 = lm(bwt~gestation+height+age, data=bebes)
coef(bebes.3)
anova(bebes.3)
summary(bebes.3)

#Weight parece no ser importante para o modelo
bebes.4 = lm(bwt~gestation+height+weight, data=bebes)
coef(bebes.4)
anova(bebes.4)
summary(bebes.4)
#Parity explica uma pequena parte dos residuos
bebes.5 = lm(bwt~gestation+height+parity, data=bebes)
coef(bebes.5)
anova(bebes.5)
summary(bebes.5)
anova(bebes.5)

#Assim como Parity, smoke explica uma pequena parte dos residuos
bebes.6 = lm(bwt~gestation+height+smoke, data=bebes)
coef(bebes.6)
anova(bebes.6)
summary(bebes.6)

#Correlao final das variaveis categoricas
bebes.7 = lm(bwt~gestation+height+smoke+parity, data=bebes)
coef(bebes.7)
anova(bebes.7)
summary(bebes.7)

Apesar da correlao final, ainda h uma grande variao residual no explicada pelas variveis da regresso
